package com.jidolstar.astro
{
	import flash.utils.Dictionary;
	
	/**
	 * 1개 별자리 정보
	 * @author Yongho, Ji (jidolstar@gmail.com)
	 * @since 2009.06.25 
	 */ 
	public class ALConstellationInfo
	{
		/**
		 * 한국어
		 */ 
		public static const LANGUAGE_KR:String = "kr";
		
		/**
		 * 영어
		 */ 
		public static const LANGUAGE_EN:String = "en";
		
		/**
		 * 일본어
		 */ 
		public static const LANGUAGE_JP:String = "jp";
		
		/**
		 * 중국어 
		 */ 
		public static const LANGUAGE_CN:String = "cn";
		
		private var _raHour:Number;
		private var _dec:Number;
		private var _simpleName:String;
		private var nameMap:Object;
		private var isSetRA:Boolean = false;		
		
		/**
		 * 생성자
		 * @simpleName 별자리 약어(3글자, 영문)
		 * @param raHour 적경(hour)
		 * @param dec 적위(degree)
		 * @param nameMap 언어별 별자리 이름 
		 */ 
		public function ALConstellationInfo( simpleName:String, raHour:Number, dec:Number, nameMap:Object )
		{
			_simpleName = simpleName.toLowerCase();
			_raHour = raHour;
			_dec = dec;
			this.nameMap = nameMap;
		}
		
		/**
		 * 적경(hour)
		 */ 
		public function get raHour():Number
		{
			return _raHour;
		}
		
		/**
		 * 적위(degree)
		 */ 
		public function get dec():Number
		{
			return _dec;
		}
		
		/**
		 * 별자리 약어 
		 */ 
		public function get simpleName():String
		{
			return _simpleName;
		}
		
		/**
		 * 언어별 별자리 full name 
		 * @param language 언어 코드
		 * @return 별자리 이름  
		 */ 
		public function getName( language:String = "kr" ):String
		{
			return nameMap[language];			
		}
		
		/**
		 * 별자리 이름 약어가 같은가 확인 
		 */ 
		public function equal( simpleName:String ):Boolean
		{
			if( simpleName == null ) return false;
			if( _simpleName == simpleName.toLowerCase() ) return true;
			return false;
		}
		
	}
}